iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
AI & Data

深度學習概念和應用(PyTorch)系列 第 29

DAY29 鐵達尼生存預測-資料分析

  • 分享至 

  • xImage
  •  

透過昨天的資料及,可以先統計成統計圖方便理解,也可以找出特徵歸納究竟哪一種條件的人們生存機率最高。
除此之外,也可以更方便篩選出要放入訓練的樣目,以及可以刪除避免影響訓練的。
1.存活率

total_data['survived'].value_counts().plot.pie(autopct='%1.2f%%', colors=['c', 'y'])

https://ithelp.ithome.com.tw/upload/images/20231014/20163187jOTdnmrsoN.png
2.接下來,我比較好奇的是傖等對於存活率會不會有影響
可以藉由統計三個艙等,和他們其中生存的人數來得到這個資訊

print(total_data.groupby(['pclass'])['survived'].agg(['count', 'mean']))
custom_palette = ["#84C1FF", "#D3A4FF"]
plt.figure(figsize=(20, 10))
sns.countplot(x='pclass', hue='survived', data=total_data, palette=custom_palette)
plt.title('pclass and survived')

https://ithelp.ithome.com.tw/upload/images/20231014/20163187tFfXvxVyLP.png
雖然可以發現存活人數差異不大,但艙等最高的存活佔總數的一半,而艙等最低的存活人數只有四分之一。
3.接著,我發現同一艙等會有不同價格,因此和可以再看看是不是花比較多錢購買船票可以有比較好的保障。

def pclass_category(df, pclass1_mean, pclass2_mean, pclass3_mean):
    if df['pclass'] == 1:
        if df['fare'] <= pclass1_mean:
            return 'Pclass1_Low'
        else:
            return 'Pclass1_High'
...
Pclass_mean = total_data['fare'].groupby(by=total_data['pclass']).mean()
Pclass1_mean = Pclass_mean[1]
...
total_data['pclass_Fare_Category'] = total_data.apply(pclass_category, args=(
    Pclass1_mean, Pclass2_mean, Pclass3_mean), axis=1)

https://ithelp.ithome.com.tw/upload/images/20231014/201631879bN7aqbbsc.png
可以將同一艙等中分成高於平均、低於平均的票價來看,可以看到票價對存活率真的會有影響,尤其是在中等的船艙中。


上一篇
DAY28 鐵達尼生存預測-資料集
下一篇
DAY30 鐵達尼生存預測-實作
系列文
深度學習概念和應用(PyTorch)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言